1. Field of the Invention
Aspects of the invention relate generally to location-based services and applications for mobile devices. More particularly, aspects of the invention relate to dynamic construction of location collection and computation logic.
2. Description of Related Art
Location-based services and applications are becoming more and more popular as the number and types of portable electronic devices increases. Devices such as mobile telephones, PDAs and laptop/palmtop computers may be used indoors and outdoors in one location or while on the go. The location of a user's mobile device (“end device”) may be found with a number of different technologies ranging from traditional Global Positioning System (“GPS”) technology to more sophisticated network-based solutions. Typically, cellular tower locations and Wi-Fi™ access points are the “signals” used for this purpose.
In order to derive an accurate end device location, network based solutions typically require numerous components working in tandem. One such component is a database of cellular tower or Wi-Fi™ access point locations (“location database”). Since no single entity provides a complete set of location information, this information is collected through war-driving or data collection logs built into the end device. Another important component of network based solutions is the end-point location serving logic. This logic is applied to the data gathered from the location database in order to reach an accurate final location.
When the use of network-based location services emerged, location service providers typically computed the location of end devices at centralized servers or server farms. However, as location based applications spread and multiple client applications began to make countless simultaneous requests, such servers could not effectively support the rapid increase in demand. Therefore, many location service providers recently have been shifting the final location computation logic into the end devices.
While shifting computation logic to the end device reduces network demand and server processor usage, new problems have surfaced. Maintaining synchronicity between the location calculation software logic on end devices and the server side software is challenging. End devices that collect raw data from the server may not be aware of new server side software needs. If the end device software was written before new problems were discovered and resolved on the server side, discrepancies can occur between the end device software and server side software. The end device software often provides redundant data to the server that consumes extra computation power at both ends and also wastes network bandwidth. Furthermore, because location service requires constant processing that changes over time, end device software often uses conservative location calculation algorithms to avoid future problems at the expense of using more efficient algorithms.